package com.dao;

import com.entity.NewsEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import org.apache.ibatis.annotations.Param;
import com.entity.vo.NewsVO;
import com.entity.view.NewsView;


/**
 * 公告信息数据访问接口
 * 继承自 MyBatis Plus 的 BaseMapper，提供基本的 CRUD 操作
 * 该接口用于处理与公告信息相关的数据库操作
 *
 * author: team10
 *
 *
 */
public interface NewsDao extends BaseMapper<NewsEntity> {

	/**
	 * 查询符合条件的公告列表 (VO)
	 *
	 * @param wrapper 查询条件
	 * @return 公告的 VO 列表
	 */
	List<NewsVO> selectListVO(@Param("ew") Wrapper<NewsEntity> wrapper);

	/**
	 * 查询符合条件的单条公告信息 (VO)
	 *
	 * @param wrapper 查询条件
	 * @return 单条公告的 VO
	 */
	NewsVO selectVO(@Param("ew") Wrapper<NewsEntity> wrapper);

	/**
	 * 查询符合条件的公告列表 (View)
	 *
	 * @param wrapper 查询条件
	 * @return 公告的 View 列表
	 */
	List<NewsView> selectListView(@Param("ew") Wrapper<NewsEntity> wrapper);

	/**
	 * 查询符合条件的分页公告列表 (View)
	 *
	 * @param page 分页参数
	 * @param wrapper 查询条件
	 * @return 分页的公告 View 列表
	 */
	List<NewsView> selectListView(Pagination page, @Param("ew") Wrapper<NewsEntity> wrapper);

	/**
	 * 查询符合条件的单条公告信息 (View)
	 *
	 * @param wrapper 查询条件
	 * @return 单条公告的 View
	 */
	NewsView selectView(@Param("ew") Wrapper<NewsEntity> wrapper);
}
